home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw GX / Programming Stuff / GX Libraries / ScalerLibrary.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-04  |  3.8 KB  |  84 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.     File:        ScalerLibrary.h
  4.     
  5.     Contains:    scaler library interface to the routines used to call gxFont scalers directly
  6.     
  7.     Written By:    Mike Reed
  8.     
  9.     Copyright:    ©1992-1995 by Apple Computer, Inc.  All rights reserved.
  10.     
  11.     Change History (most recent first):
  12.     
  13.          <1>      1/9/95    JD        First checked in.
  14.  
  15. */
  16.  
  17. #ifndef __SCALERLIBRARY__
  18. #define __SCALERLIBRARY__
  19.  
  20. #include <Components.h>
  21. #include <ScalerTypes.h>
  22.  
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26.  
  27. /* for compatibility with old headers */
  28. #define scalerLibraryIncludes
  29.  
  30. enum {
  31.     kScalerOpenSelect = 0,                      /* Component scaler operation selectors */
  32.     kScalerNewFontSelect,
  33.     kScalerNewVariationSelect,
  34.     kScalerNewTransformationSelect,
  35.     kScalerNewGlyphSelect,
  36.     kScalerStreamFontSelect,
  37.     kScalerKernGlyphsSelect,
  38.     kScalerCloseSelect
  39. };
  40.  
  41. scalerError FontScalerOpen( scalerContext* context, scalerInfo* theInfo);
  42. scalerError FontScalerNewFont( scalerContext* context, scalerFontInfo* info);
  43. scalerError FontScalerNewVariation( scalerContext* context, long count, const gxFontVariation variation[]);
  44. scalerError FontScalerNewTransform( scalerContext* context, const scalerTransform* trans, scalerTransformInfo* info);
  45. scalerError FontScalerNewGlyph( scalerContext* context, const scalerGlyph* glyph, scalerMetrics* theMetrics, scalerBitmap* bitImage, void* outlineData);
  46. scalerError FontScalerStreamFont( scalerContext* context, scalerStream* stream);
  47. scalerError FontScalerKernGlyphs( scalerContext* context, scalerKerning* kerning, gxPoint deltas[], scalerKerningNote flags[], gxPoint locations[]);
  48. scalerError FontScalerClose( scalerContext* context);
  49. void    CloseAllOpenFontScalers(void);
  50.  
  51. #define FSCCallNow(selector,size) ComponentCallNow(selector,size)
  52.  
  53. pascal ComponentResult ComponentFontScalerOpen(ComponentInstance c, scalerContext* context, scalerInfo* theInfo)
  54.         FSCCallNow( 0 /* kScalerOpenSelect */, 8 /* sizeof(scalerContext*)+sizeof(scalerInfo*) */ );
  55.         
  56. pascal ComponentResult ComponentFontScalerNewFont(ComponentInstance c, scalerContext* context, scalerFontInfo* info)
  57.         FSCCallNow( 1 /* kScalerNewFontSelect */, 8 /* sizeof(scalerContext*)+sizeof(scalerFontInfo*) */ );
  58.         
  59. pascal ComponentResult ComponentFontScalerNewVariation(ComponentInstance c, scalerContext* context, long count, const gxFontVariation variation[])
  60.         FSCCallNow( 2 /* kScalerNewVariationSelect */, 12 /* sizeof(scalerContext*)+sizeof(long)+sizeof(gxFontVariation*) */);
  61.         
  62. pascal ComponentResult ComponentFontScalerNewTransform(ComponentInstance c, scalerContext* context, const scalerTransform* trans, scalerTransformInfo* info)
  63.         FSCCallNow( 3  /* kScalerNewTransformationSelect */, 12 /* sizeof(scalerContext*)+sizeof(scalerTransform*)+sizeof(scalerTransformInfo*) */);
  64.         
  65. pascal ComponentResult ComponentFontScalerNewGlyph(ComponentInstance c, scalerContext* context, const scalerGlyph* glyph, scalerMetrics* theMetrics, scalerBitmap* bitImage, void* outlineData)
  66.         FSCCallNow( 4 /* kScalerNewGlyphSelect */, 20 /* sizeof(scalerContext*)+sizeof(scalerGlyph*)+sizeof(scalerMetrics*)+sizeof(scalerBitmap*)+sizeof(void*) */);
  67.  
  68. pascal ComponentResult ComponentFontScalerStreamFont(ComponentInstance c, scalerContext* context, scalerStream* Stream)
  69.         FSCCallNow( 5 /* kScalerStreamFontSelect */, 8 /* sizeof(scalerContext*)+sizeof(scalerStream*) */);
  70.  
  71. pascal ComponentResult ComponentScalerKernGlyphs(ComponentInstance c, scalerContext* context, scalerKerning* kerning, gxPoint deltas[], scalerKerningNote flags[], gxPoint locations[])
  72.         FSCCallNow( 6 /* kScalerKernGlyphsSelect */, 20 /* sizeof(scalerContext*)+sizeof(scalerKerning* )+sizeof(gxPoint*)+sizeof(gxPoint*)+sizeof(unsigned short*) */);
  73.             
  74. pascal ComponentResult ComponentFontScalerClose(ComponentInstance c, scalerContext* context)
  75.         FSCCallNow( 7 /* kScalerCloseSelect */, 4 /* sizeof(scalerContext*) */);
  76.  
  77. #undef FSCCallNow
  78.  
  79. #ifdef __cplusplus
  80. }
  81. #endif
  82.  
  83. #endif /* __SCALERLIBRARY__ */
  84.